/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package srac.controleatividades.cih;


import java.util.ArrayList;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.Window;
import srac.controleatividades.cci.CtrlPrincipal;
import srac.controleatividades.cdp.Usuario;

/**
 *
 * @author gmiranda
 */
public class PagAlterarSenha extends GenericForwardComposer{
    private CtrlPrincipal ctrl = CtrlPrincipal.getInstance();
    private Window winAlterarSenha;
    private Textbox antigaSenha;
    private Textbox novaSenha;
    private Textbox confirmarSenha;
    private Usuario obj;
    
    @Override
    public void doAfterCompose(Component comp) throws Exception {
        super.doAfterCompose(comp);
    }
    
    
    public void onCreate$winAlterarSenha(){ 
        //if feito para verificar se existe algum usuario logado, se nao existir eh redirecionado para o login
        if (Executions.getCurrent().getSession().getAttribute("usuario") == null) {
            Executions.sendRedirect("/");
            winAlterarSenha.detach();
        } 
         else{
             obj = (Usuario) arg.get("obj");
         }
    }
    
    
    public void onClick$salvarSenha(Event event) {
        ArrayList<Object> list = new ArrayList<Object>();
        list.add(antigaSenha.getText());
        list.add(novaSenha.getText());
        list.add(confirmarSenha.getText());
        list.add(obj);
        
        int opc=ctrl.verificarSenha(list); //Verifica se as senhas estão corretas
        if(opc==0)
        {
            winAlterarSenha.onClose(); //Fecha a janela
            Messagebox.show("Senha alterada com sucesso!", "Informe:", 0, Messagebox.INFORMATION);
        }
        else if(opc==1)
        {
            Messagebox.show("A confirmação está diferente da nova senha!", "Informe:", 0, Messagebox.EXCLAMATION);
        }
        else if(opc==2)
        {
            Messagebox.show("Senha antiga incorreta!", "Informe:", 0, Messagebox.EXCLAMATION);
        }
        else
        {
            Messagebox.show("Ocorreu um erro na alteração da senha!", "Informe:", 0, Messagebox.ERROR);
        }
        
    }
    
    public void onClick$voltar(Event event) {
        winAlterarSenha.onClose(); //Fecha a janela
    }
}
